﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using Baza;

namespace wsnForms
{
    public partial class EdycjaSprzetu : Form
    {
        public EdycjaSprzetu(Sprzet sprzet)
        {
            InitializeComponent();

            s = sprzet;

            tbNazwa.Text = s.SpNazwa;
            tbProducent.Text = s.SpProducent;
            tbCena.Text = s.SpCena.ToString();
            if (s.SpObrazek != null)
            {
                MemoryStream ms = new MemoryStream(s.SpObrazek);
                pb.Image = Image.FromStream(ms);
            }
        }

        private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
        {
            try
            {
                MemoryStream ms = new MemoryStream();
                Bitmap bmp = new Bitmap(((OpenFileDialog)sender).FileName);
                pb.Image = bmp;
                pb.Image.Save(ms, pb.Image.RawFormat);
                img = ms.GetBuffer();
            }
            catch
            {
                MessageBox.Show("Błąd przy wczytywaniu obrazka! \nSprawdź czy rozszerzenie jest poprawne!");
                img = null;
                pb.Image = null;
                rbBez.Checked = true;
                bPrzegladaj.Enabled = false;
                bPrzegladaj.Visible = false;
            }
        }

        private void bWstecz_Click(object sender, EventArgs e)
        {
            this.Hide();
        }

        private void bDodaj_Click(object sender, EventArgs e)
        {
            double cena = 0;

            try
            {
                cena = System.Convert.ToDouble(tbCena.Text);
            }
            catch
            {
                MessageBox.Show("Błędna cena");
            }
            if ((tbNazwa.Text.Length <= 255) && (tbProducent.Text.Length <= 100) && (tbNazwa.Text.Length > 0) && (tbProducent.Text.Length > 0) && (tbCena.Text.Length > 0))
            {
                    BazaDanych.EditSprzet(s.SpId, tbNazwa.Text, tbProducent.Text, cena);

                    if ((img != null) && (rbOtworz.Checked))
                    {
                        BazaDanych.SetImageToSprzet(img, s.SpId);
                    }
                    if (rbBrak.Checked)
                    {
                        BazaDanych.DeleteImageFromSprzet(s.SpId);
                    }
                    this.Close();
            }
            else
            {
                MessageBox.Show("Wprowadź wszystkie niezbędne dane");
            }
        }

        private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {
            if (((RadioButton)sender).Checked)
            {
                openFileDialog1.ShowDialog();
                bPrzegladaj.Enabled = true;
                bPrzegladaj.Visible = true;
            }
        }

        private void bPrzegladaj_Click(object sender, EventArgs e)
        {
            openFileDialog1.ShowDialog();
        }

        private void rbBez_CheckedChanged(object sender, EventArgs e)
        {
            if (((RadioButton)sender).Checked)
            {
                if (s.SpObrazek != null)
                {
                    MemoryStream ms = new MemoryStream(s.SpObrazek);
                    pb.Image = Image.FromStream(ms);
                }
                img = null;
                bPrzegladaj.Enabled = false;
                bPrzegladaj.Visible = false;
            }
        }

        private void rbBrak_CheckedChanged(object sender, EventArgs e)
        {
            if (((RadioButton)sender).Checked)
            {
                pb.Image = null;
                img = null;
                bPrzegladaj.Enabled = false;
                bPrzegladaj.Visible = false;
            }
        }

        Sprzet s = null;
        byte[] img = null;
    }
}
